using System.Collections.Generic;

//TODO: line length option

namespace ADiKt {
    class OptionsMenuScreen : MenuScreen {
        SpinEntry turningCircle;
        SpinEntry gapChance;
        SpinEntry gapSize;
        MenuEntry back;
        
        public static Dictionary<object, string> turningCircleOptions = new Dictionary<object, string>(){
            {0.250f, "Teany"},
            {0.150f, "Tiny"},
            {0.100f, "Small"},
            {0.075f, "Normal"},
            {0.050f, "Huge"}
        };

        public static Dictionary<object, string> gapChanceOptions = new Dictionary<object, string>(){
            {0.000f, "None"},
            {0.001f, "Low"},
            {0.005f, "Normal"},
            {0.010f, "Moderate"},
            {0.050f, "High"}
        };

        public static Dictionary<object, string> gapSizeOptions = new Dictionary<object, string>(){
            {5, "Short"},
            {10, "Normal"},
            {15, "Long"}
        }; 

        public OptionsMenuScreen() : base("Options") {
            turningCircle = new SpinEntry("Turning Circle: ", turningCircleOptions, Globals.turn_step, delegate() { Globals.turn_step = (float)turningCircle.value; });
            gapChance = new SpinEntry("Gap Chance: ", gapChanceOptions, Globals.gap_chance, delegate() { Globals.gap_chance = (float)gapChance.value; });
            gapSize = new SpinEntry("Gap Size: ", gapSizeOptions, Globals.gap_size, delegate() { Globals.gap_size = (int)gapSize.value; });
            back = new MenuEntry("Back");

            back.Selected += OnCancel;

            MenuEntries.Add(turningCircle);
            MenuEntries.Add(gapChance);
            MenuEntries.Add(gapSize);
            MenuEntries.Add(back);     
        }

    }
}